# coding: utf-8

from collections import namedtuple


class Entry(dict): pass


class ActiveRecord:
    _constructor = None
    # overwrite the ``field_names''
    field_names = []

    def __new__(cls, *args):
        if cls._constructor is None:
            cls._constructor = namedtuple(cls.__name__, cls.field_names)
        return cls._constructor(*args)


class Item:
	schema = {}

	def __generate__(self):
		pass  # using self.schema
